Objectives: To determine if a single environment can be used to develop scientific software which operates without change on all major hardware/software platforms in use by NIH supported scientists. Methods employed: Design and research on a layered system of software. Development of real production quality tools to test the robustness of design and implementation in the real world. Major findings: It is possible to write a single scientific "C" language program which will run without change on Macintosh, IBM PC class, Microsoft Windows, Sun UNIX, Silicon Graphics UNIX, DEC ULTRIX, VAX VMS, and IBM 3090 AIX computers. Such program can not only perform routine computation, but use various modern windowing systems (Macintosh, MS-Windows, X11 Motif) for user interface and International Standards Organization (ISO) protocols for structured data exchange. A system of software layers represented by "C" language libraries provides a flexible robust environment. The CoreLib layer is a thin interface between a single logical view of program flow and operations (on the programmer side) and the details of implementing that view on the various supported platforms. The AsnLib layer, built on the CoreLib layer, provides portable utilities for structured, standardized data exchange using Abstract Syntax Notation 1 (ISO 8824, 8825). The Object layer, built on the AsnLib layer, reads and writes ASN.1 formatted data streams in and out of "C" structures available to the programmer. The Vibrant layer, built on the CoreLib layer, provides a single programming interface to three different windowing systems. Vibrant supports both a very simple view of user interaction typical of scientific programs and the very complex view of modern highly interactive visual interfaces. A variety of production quality software products have been developed using the Toolkit, and are in active use by a large number of scientists already. Toolkit routines have also been incorporated as parts of other, non-portable, programs on a variety of platforms.